# @Time    :2025/4/13 10:21
"""
20. 有效的括号
给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。

有效字符串需满足：
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。

"""


class Solution:
    def isValid(self, s):
        stack = []
        for i in s:
            match i:
                case "(" | "{" | "[":
                    stack.append(i)
                case ")":
                    if (not stack) or (stack.pop() != "("):
                        return False
                case "]":
                    if (not stack) or (stack.pop() != "["):
                        return False
                case "}":
                    if (not stack )or (stack.pop() != "{"):
                        return False
        return True if not stack else False


s=Solution()
print(s.isValid("()"))
